package dancespeedyenumsmongo

const (
	DanceRoomModelMarryLogLogTypeCp               = 0 //cp
	DanceRoomModelMarryLogLogTypeCancelCp         = 1 //解散cp
	DanceRoomModelMarryLogLogTypeOrderMarry       = 2 //订婚
	DanceRoomModelMarryLogLogTypeCancelOrderMarry = 3 //取消订婚
	DanceRoomModelMarryLogLogTypeMarried          = 4 //结婚状态
	DanceRoomModelMarryLogLogTypeDivorceMarry     = 5 //离婚

	DanceRoomModelMarryLogMarryDoTypeAuto  = 0 //0:系统自动;1:管理后台;
	DanceRoomModelMarryLogMarryDoTypeAdmin = 1 //0:系统自动;1:管理后台;
)

type DanceRoomModelMarryLogEnums struct {
}

var DanceRoomModelMarryLogEnumsObject DanceRoomModelMarryLogEnums

func (e DanceRoomModelMarryLogEnums) LogType() []int {
	return []int{
		DanceRoomModelMarryLogLogTypeCp,
		DanceRoomModelMarryLogLogTypeCancelCp,
		DanceRoomModelMarryLogLogTypeOrderMarry,
		DanceRoomModelMarryLogLogTypeCancelOrderMarry,
		DanceRoomModelMarryLogLogTypeMarried,
		DanceRoomModelMarryLogLogTypeDivorceMarry,
	}
}

func (e DanceRoomModelMarryLogEnums) LogTypeMap() map[int]int {
	m := make(map[int]int)
	for _, s := range e.LogType() {
		m[s] = s
	}
	return m
}

func (e DanceRoomModelMarryLogEnums) LogTypeString(tag int) string {
	switch tag {
	case DanceRoomModelMarryLogLogTypeCp:
		return "组成CP"
	case DanceRoomModelMarryLogLogTypeCancelCp:
		return "解散CP"
	case DanceRoomModelMarryLogLogTypeOrderMarry:
		return "订婚"
	case DanceRoomModelMarryLogLogTypeCancelOrderMarry:
		return "取消订婚"
	case DanceRoomModelMarryLogLogTypeMarried:
		return "结婚"
	case DanceRoomModelMarryLogLogTypeDivorceMarry:
		return "离婚"
	default:
		return "未知"
	}
}

func (e DanceRoomModelMarryLogEnums) MarryDoType() []int {
	return []int{
		DanceRoomModelMarryLogMarryDoTypeAuto,
		DanceRoomModelMarryLogMarryDoTypeAdmin,
	}
}

func (e DanceRoomModelMarryLogEnums) MarryDoTypeMap() map[int]int {
	m := make(map[int]int)
	for _, s := range e.MarryDoType() {
		m[s] = s
	}
	return m
}

func (e DanceRoomModelMarryLogEnums) MarryDoTypeString(tag int) string {
	switch tag {
	case DanceRoomModelMarryLogMarryDoTypeAuto:
		return "自动"
	case DanceRoomModelMarryLogMarryDoTypeAdmin:
		return "后台操作"
	default:
		return "未知"
	}
}
